 
import UIKit

class RoomDataModel : Decodable{
    var msgType: Int?
    var roomLiveCheck: Int?
    var requestId: Int?
    var applyOnlineVo: LSApplyonlinevoModel?
    var givePropMsg: LSGivepropmsgModel?
    var inputSteamMsg: LSInputsteammsgModel?
    var bindAngelVO: LSBindangelvoModel?
    var roomChangeVO: LSRoomchangevoModel?
    var joinRoomEffectVO: LSJoinroomeffectvoModel?
    var roomMais: Array<LSRoommaisModel> = []
    var roomPKVO: LSRoompkvoModel?
    var musicMsgVO: LSMusicmsgvoModel?
    var toppingVO: LSToppingvoModel?
    var joinTrainVO: LSJointrainvoModel?
}

class LSUserlabelsModel : Decodable{
    var anchorUserId: Int?
    var labelName: String?
    var labelType: Int?
    var url: String?
}

class LSApplyonlinevoModel : Decodable{
    var applyCountMan: Int?
    var applyCountWoman: Int?
    var onlineCountMan: Int?
    var onlineCountWoman: Int?
}
class LSSenduservoModel : Decodable{
    var userId: Int?
    var userCode: String?
    var avatar: String?
    var nick: String?
    var sex: Int?
    var age: Int?
    var avatarFrameUrl: String?
    var vipGrade: Int?
    var userLabels: Array<LSUserlabelsModel>?
    var prohibition: Int?
    var beautifulCodeUrl: String?
    var chatFrameUrl: String?
}
class LSRankvosModel : Decodable{
    var userId: Int?
    var tokens: Int?
    var avatar: String?
}
class LSWishesModel : Decodable{
    var id: Int?
    var userId: Int?
    var propId: Int?
    var propNum: Int?
    var propReceive: Int?
    var status: Int?
    var propOrder: Int?
    var createTime: String?
    var deleteFlag: Int?
}
class LSAnchorreceiverankvosModel : Decodable{
    var anchorUserId: Int?
    var nick: String?
    var maiIndex: Int?
    var wishes: Array<LSWishesModel>?
    var receiveTotal: Int?
    var rankVOS: Array<LSRankvosModel>?
}
class LSWishroomuservoModel : Decodable{
    var propNum: Int?
    var propReceive: Int?
}
class LSGivepropmsgModel : Decodable{
    var sendUserVO: LSSenduservoModel?
    var userId: Int?
    var receiveUserId: Int?
    var receiveNick: String?
    var propId: Int?
    var action: Int?
    var amount: Int?
    var rankVOS: Array<LSRankvosModel>?
    var anchorReceiveRankVOS: Array<LSAnchorreceiverankvosModel>?
    var wishRoomUserVO: LSWishroomuservoModel?
}
class LSInputsteammsgModel : Decodable{
    var roomId: Int?
    var userId: Int?
    var maiIndex: Int?
    var inputStreamId: String?
    var maiOpen: Int?
    var maiStatus: Int?
    var exclusive: Int?
    var roomType: Int?
}
class LSBindangelvoModel : Decodable{
    var anchorUserId: Int?
    var maiIndex: Int?
    var anchorAvatar: String?
    var userId: Int?
    var avatar: String?
    var angelType: Int?
    var propId: Int?
}
class LSRoomchangevoModel : Decodable{
    var tokens: Int?
    var userId: Int?
    var roomType: Int?
}

class LSJoinroomeffectvoModel : Decodable{
    var userId: Int?
    var nick: String?
    var avatar: String?
    var propId: Int?
    var bannerUrl: String?
}
class LSRoomanchorstickerslistModel : Decodable{
    var propId: Int?
    var count: Int?
    var lastTime: String?
}
class LSMusicvoModel : Decodable{
    var userId: Int?
    var nick: String?
    var avatar: String?
    var pointUserId: Int?
    var pointNick: String?
    var pointAvatar: String?
    var musicSerialNumber: String?
    var musicStatus: Int?
    var musicName: String?
    var createTime: String?
}

class LSRoommaisModel : Decodable{
    var id: Int?
    var inputStreamId: String = ""
    var outputStreamId: String = ""
    var roomId: Int?
    var userId: Int? //麦上用户的 id
    var sex: Int?
    var maiIndex: Int = 0
    var status: Int?
    var maiOpen: Int?
    var shangMaiTime: String?
    var xiaMaiTime: String?
    var liveMinutes: Int?
    var receiveTokens: Int?
    var deleteFlag: Int?
    var roomAnchorStickersList: Array<LSRoomanchorstickerslistModel>?
    var musicVO: LSMusicvoModel?
    var avatar: String?
    var nick: String?
    ///自己是否是直播者
    func isAnchor() -> Bool{
        return self.userId == liveMessagePlugin?.roomInfo?.selfUserId
    }
}

class LSGroupredModel : Decodable{
    var userId: Int?
    var nick: String?
    var avatar: String?
    var tokens: Int?
    var group: Int?
}
class LSPkgroupvoModel : Decodable{
    var groupRed: Array<LSGroupredModel>?
    var groupBlue: Array<LSGroupredModel>?
    var tokensRed: Int?
    var tokensBlue: Int?
}
class LSRoompkvoModel : Decodable{
    var roomId: Int?
    var pkType: Int?
    var pkGroupVO: LSPkgroupvoModel?
    var pkUserVOS: Array<LSGroupredModel>?
    var isStart: Int?
    var minutes: Int?
    var orderNo: String?
    var createTime: String?
    var endSecond: Int?
}

class LSMusicusersModel : Decodable{
    var userId: Int?
    var receiveTokens: Int?
    var jumpNeedTokens: Int?
    var musicStatus: Int?
    var receiveTime: Int?
}
class LSMusicmsgvoModel : Decodable{
    var requestId: Int?
    var musicJumpTokens: Int?
    var musicPropId: Int?
    var pointPeople: Int?
    var pointAmount: Int?
    var numberOneUserId: Int?
    var numberOneTokens: Int?
    var musicUsers: Array<LSMusicusersModel>?
}
class LSToppingvoModel : Decodable{
    var roomId: Int?
    var maiIndex: Int?
}
class LSJointrainvoModel : Decodable{
    var userId: Int?
    var nick: String?
    var avatar: String?
    var userCode: String?
    var roomId: Int?
}
